#ifndef LAURIN_RADIO_INFO_H_
#define LAURIN_RADIO_INFO_H_

#include <sys/types.h>
#include <glibmm/ustring.h>



struct LaurinBeaconDetails
{
	LaurinBeaconDetails()
	{
		SSID = "";
		Encrypted = true;
		Interval = -1;
		IBSSFrame = true;
	}

	Glib::ustring SSID;
	bool Encrypted;
	int Interval;							// in microseconds
	bool IBSSFrame;
};


enum LaurinIEEE80211Carrier
{
	CARRIER_UNKNOWN = 0,
	CARRIER_80211B,
	CARRIER_80211A,
	CARRIER_80211G,
	CARRIER_80211FHSS                       // frequency hopping spread spectrum
};


struct LaurinPacketRadioInfo
{
	LaurinPacketRadioInfo()
	{
		carrier = CARRIER_UNKNOWN;
		tstf = 0;
		channel = 0;
		rate = 0;
		flags = 0;
	}


	u_int8_t        flags;
	u_int8_t        rate;                           // unity are 500 kpbs.
	u_int8_t        channel;
	u_int64_t       tstf;                           // the mac's time synchronization function timer in microseconds
	enum LaurinIEEE80211Carrier   carrier;
};


#endif
